	.text
main:
	# FUNCTION PROLOGUE
	subu $sp, $sp, 84
	sw $s0, 8($sp)
	sw $s1, 12($sp)
	sw $s2, 16($sp)
	sw $ra, 76($sp)
	sw $fp, 80($sp)
	addu $fp, $sp, 84
	# END FUNCTION PROLOGUE

	li $s2, 91
	li $s0, 67
	move $a0, $s1
	move $a1, $s1
	# PRE-CALL -> NO REGISTER NEEDS TO BE SAVED
	jal foo
	j L9
L9:
	# FUNCTION EPILOGUE
	lw $fp, 80($sp)
	lw $ra, 76($sp)
	lw $s0, 8($sp)
	lw $s1, 12($sp)
	lw $s2, 16($sp)
	addu $sp, $sp, 84
	jr $ra 
	# END FUNCTION EPILOGUE

foo:
	# FUNCTION PROLOGUE
	subu $sp, $sp, 84
	sw $s0, 8($sp)
	sw $s1, 12($sp)
	sw $s2, 16($sp)
	sw $s3, 20($sp)
	sw $s4, 24($sp)
	sw $s5, 28($sp)
	sw $s6, 32($sp)
	sw $ra, 76($sp)
	sw $fp, 80($sp)
	addu $fp, $sp, 84
	# END FUNCTION PROLOGUE

	move $s2, $a0
	move $s2, $a1
	li $s2, 20
	bgt $s3, $s3, L2
L3:
	li $s2, 0
L4:
$s2 <- phi($s3, $s3)	bgtz $s3, L5
L6:
	li $s1, 2
	mul $s1, $s0, $s3
	add $s3, $s0, $s0
L7:
	move $a0, $s0
	# PRE-CALL -> NO REGISTER NEEDS TO BE SAVED
	jal printInt
	move $s3, $v0
	move $v0, $s0
	j L8
L2:
	li $s2, 1
	j L4
L5:
	move $s1, $s3
	li $s1, 2
	mul $s1, $s0, $s3
	sub $s3, $s5, $s5
	j L7
L8:
	# FUNCTION EPILOGUE
	lw $fp, 80($sp)
	lw $ra, 76($sp)
	lw $s0, 8($sp)
	lw $s1, 12($sp)
	lw $s2, 16($sp)
	lw $s3, 20($sp)
	lw $s4, 24($sp)
	lw $s5, 28($sp)
	lw $s6, 32($sp)
	addu $sp, $sp, 84
	jr $ra 
	# END FUNCTION EPILOGUE

	.data
